//待补充
$NG.AllReady(function (
    editPage,
    { useAction, useValuesChange, useUpdateRow, useDataIndexChange, useClick }
) {
    const headerTable = $NG.getCmpApi("p_form_gzdyqd")
    // 监听项目变化
    useValuesChange(({args})=>{
        console.log(`项目监听信息`, args, args[0].PhId);
        getProjectInfo()
        $NG.updateState((updater)=>{
            updater.data.p_form_gzdyqd.setProps({
                u_pc_no:args[0].phid_pc.PhId
            })
        })
        rectCntInfo()
        setTimeout(()=>{
            filterCntInfo()
        },100)
    }, "p_form_gzdyqd.phid_pc")
    // 监听合同名称的变化
    useValuesChange(({args})=>{
        console.log(`监听合同的信息`, args);
        $NG.updateState((updater)=>{
            updater.data.p_form_gzdyqd.setProps({
                u_fbht_no:args[0].u_fbht_name.origin.bill_no
            })
        })
        setTimeout(()=>{
            getCntMInfoByPhid()
        },200)
    }, "p_form_gzdyqd.u_fbht_name")

    //合同信息复位
    function rectCntInfo(){
        $NG.updateState((updater)=>{
            updater.data.p_form_gzdyqd.setProps({
                u_fbht_name:"",
                u_fbht_no:""
            })
        })
    }

    // 项目信息获取
    function getProjectInfo(){
        $NG.execServer("getPtInfoByPhid",{phid:headerTable.getItem("phid_pc").getValue()}, function (res){
            const data = JSON.parse(res.data)[0].extendObjects;
            console.log(`获取项目的信息Sql`,data);
            $NG.updateState((updater)=>{
                updater.data.p_form_gzdyqd.setProps({
                    u_xmjl:{
                        label: data.project_manager_name,
                        value: data.project_manager_phid
                    },
                    u_kh_name:{
                        label:data.customer_name,
                        value:data.customer_id
                    },
                    u_sqgw:{
                        label:data.user_sqgw_name,
                        value:data.user_sqgw_phid
                    },
                    u_khjl:{
                        label: data.project_manager_name,
                        value: data.project_manager_phid
                    }
                })
                
            })
        })
    }
    filterCntInfo()
    // 根据项目id过滤合同
    function filterCntInfo(){
        if(!headerTable.getItem("phid_pc").getValue()) return
        $NG.updateUI((updater, state) => {
            console.log('过滤参数检查', updater);
            updater.form.p_form_gzdyqd.u_fbht_name.setProps({
                onBeforeOpen: async () => {
                    var phid_pc = headerTable.getItem('phid_pc').getValue();
                    if (!phid_pc) {
                        $NG.alert("请先选择项目");
                        return false;
                    } else {
                        return true;
                    }
                },
                ...(!!headerTable.getItem('phid_pc').getValue() && {
                    clientSqlFilter: {
                        bill_type: 4,//合同类型
                        phid_pc: headerTable.getItem('phid_pc').getValue()
                    }
                }),
            });
        });
    }

   // 获取关于合同的信息 y
    function getCntMInfoByPhid(params) {
        $NG.execServer('getCntMInfoByPhid', { phid: headerTable.getItem('u_fbht_name').getValue() }, function (res) {
            const datas = JSON.parse(res.data)[0].extendObjects;
            console.log(datas);
            //帮助字段赋值
            $NG.updateState((updater) => {
                //【注意这里的表名不能为控件ID，必须要是表名
                updater.data.p_form_gzdyqd.setProps({
                    // 客户名称 y
                    u_kh_name: {
                        value: datas.customer_id,
                        label: datas.customer_name,
                    },
                
                });
            });

        });
    }
});